home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 August (Alt) / CHIP 2005-08.1.iso / program / guvenlik / syslinux-3.07.exe / com32 / lib / vasprintf.c < prev    next >
Encoding:
C/C++ Source or Header  |  2004-12-20  |  371 b   |  26 lines

  1. /*
  2.  * vasprintf.c
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <stdarg.h>
  8.  
  9. int vasprintf(char **bufp, const char *format, va_list ap)
  10. {
  11.   va_list ap1;
  12.   int bytes;
  13.   char *p;
  14.  
  15.   va_copy(ap1, ap);
  16.  
  17.   bytes = vsnprintf(NULL, 0, format, ap1) + 1;
  18.   va_end(ap1);
  19.  
  20.   *bufp = p = malloc(bytes);
  21.   if ( !p )
  22.     return -1;
  23.   
  24.   return vsnprintf(p, bytes, format, ap);
  25. }
  26.